package cn.huixh.blindbox.service;

import cn.huixh.blindbox.pojo.po.Account;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * @author huixh
 * @version 1.0
 * @date 2022/5/13 13:11
 */
public interface TokenService extends IService< Account > {

    /**
     * 获取token
     *
     * @param email 邮箱地址
     * @return token
     */
    String getToken(String email);

    /**
     * 校验token
     *
     * @param token token
     */
    void tokenVerify(String token);

    /**
     * 从 token 中获取用户对象id
     *
     * @param token token
     * @return id
     */
    String getAccountId(String token);

    /**
     * 从 token 中获取用户对象 email
     *
     * @param token token
     * @return email
     */
    String getAccountEmail(String token);

    /**
     * 从 token 中获取用户对象
     *
     * @param token token
     * @return account
     */
    Account getAccountByToken(String token);
}
